Rollup of 12 pull requests#151809
Conversation
…n the search results
…precated item marker"
Signed-off-by: Antonio Souza <arfs.antonio@gmail.com>
When an async closure captures a variable by move but is constrained to `AsyncFn` or `AsyncFnMut`, the error message now explains that the closure kind is the issue and points to the trait bound, similar to the existing diagnostic for `Fn`/`FnMut` closures.
…thar Tidy: detect ui tests subdirectory changes so `tests/ui/README.md` stays in sync close: rust-lang#150399 There's an issue where `tests/ui/README.md` isn't updated whenever the ui subdirectory changes. I've added subdirectory change detection to tidy ~~added a new mention to `triage.toml` to notify `tests/ui/README.md` to also be updated~~. r? @Urgau
…iagnostic-v2, r=lcnr
Improve move error diagnostic for `AsyncFn` closures
When an async closure captures a variable by move but is constrained to `AsyncFn` or `AsyncFnMut`, the error message now explains that the closure kind is the issue and points to the trait bound, similar to the existing diagnostic for `Fn`/`FnMut` closures.
**Before:**
```
error[E0507]: cannot move out of `foos` which is behind a shared reference
--> src/lib.rs:12:20
|
11 | async fn foo(foos: &mut [&mut Foo]) -> Result<(), ()> {
| ---- move occurs because `foos` has type...
12 | in_transaction(async || -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ `foos` is moved here
13 | for foo in foos {
| ---- variable moved due to use in coroutine
```
**After:**
```
error[E0507]: cannot move out of `y`, a captured variable in an `AsyncFn` closure
--> src/lib.rs:9:10
|
LL | let y = vec![format!("World")];
| - captured outer variable
LL | call(async || {
| ^^^^^^^^ captured by this `AsyncFn` closure
...
help: `AsyncFn` and `AsyncFnMut` closures require captured values to be able
to be consumed multiple times, but `AsyncFnOnce` closures may consume
them only once
--> src/lib.rs:5:27
|
LL | fn call<F>(_: F) where F: AsyncFn() {}
| ^^^^^^^^^
```
Fixes rust-lang#150174
…arn, r=nnethercote,saethlin Fix -Zmir-enable-passes to detect unregistered enum names in declare_passes macro related: rust-lang#150910 I fixed declare_passes macro to detect unregistered enum names ### UI Results +nightly --> before: no warnings +stage1 --> after: detect SimplifyCfg as an unknown pass <img width="591" height="199" alt="スクリーンショット 2026-01-24 23 53 41" src="https://github.com/user-attachments/assets/ddabaa58-b4c6-4e80-a3c9-f40d866db273" />
Make `QueryDispatcher::Qcx` an associated type There's no reason to think that a query dispatcher/vtable would support multiple query-context types, and this simplifies some generic signature boilerplate. --- - This is the planned change that was mentioned in rust-lang#151777 (comment). r? nnethercote
…pratt Implement `cast_slice` for raw pointer types Tracking issue: rust-lang#149103 This PR implements the method `cast_slice` that defers to the respective `slice_from_raw_parts` call for `*const T`, `*mut T` and `NonNull<T>`, and copies over their documentation. ```rust impl<T> *const T { pub const fn cast_slice(self, len: usize) -> *const [T]; } impl<T> *mut T { pub const fn cast_slice(self, len: usize) -> *mut [T]; } impl<T> NonNull<T> { pub const fn cast_slice(self, len: usize) -> NonNull<[T]>; } ```
…cated-search, r=lolbinarycat [rustdoc] Add a marker to tell users that there are hidden (deprecated) items in the search results Someone on mastodon rightfully pointed out that having a visual indication that some search results were hidden would be a good idea if the "hide deprecated items" setting is enabled. In particular if no results are displayed. It looks like this: <img width="861" height="228" alt="Screenshot From 2026-01-24 00-26-33" src="https://github.com/user-attachments/assets/93aeef11-a550-47dc-9c78-219ea4fd822c" /> r? @lolbinarycat
…=GuillaumeGomez Fix contrast ratio for `Since` element in rustdoc dark theme Changed `--right-side-color` from `#808080` to `#ababab` in the dark theme. <img width="742" height="784" alt="Screenshot 2026-01-25 at 8 04 29 PM" src="https://github.com/user-attachments/assets/38c5f0b9-2034-429f-87db-8a0ed8209b5d" /> Verified visually in dark theme, it's now more readable: <img width="174" height="96" alt="Screenshot 2026-01-25 at 8 41 02 PM" src="https://github.com/user-attachments/assets/d0c30409-4374-48c4-ae9c-a0aec48e8957" /> Part of rust-lang#59845 Fixes rust-lang#151422
Stabilize feature(push_mut) Stabilizes `feature(push_mut)`, consisting of `Vec::push_mut`, `Vec::insert_mut`, `VecDeque::push_front_mut`, `VecDeque::push_back_mut`, `VecDeque::insert_mut`, `LinkedList::push_front_mut`, and `LinkedList::push_back_mut`. Tracking issue: rust-lang#135974 FCP completed: rust-lang#135974 (comment) Release notes: rust-lang#151252
…illaumeGomez Update `askama` to `0.15.3` Some bugfixes. r? ghost
…ion, r=JonathanBrouwer Subscribe myself to translation diagnostics
Document, sort, and tweak spellcheck entries in `typos.toml` - This grew out of rust-lang#151781, which was originally a simple typo fix.
|
Rollup of everything. @bors r+ rollup=never p=5 |
|
For failure triage purposes, note that most of these PRs already passed in #151803, which flakily stalled out in one job. |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing ba284f4 (parent) -> 80b8982 (this PR) Test differencesShow 626 test diffsStage 1
Stage 2
Additionally, 620 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 80b898258da78fdd1262438126aa0cf90e395f0c --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
previous master: ba284f468c In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (80b8982): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 2.7%, secondary 2.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.861s -> 475.963s (0.02%) |
Successful merges:
tests/ui/README.mdstays in sync #150474 (Tidy: detect ui tests subdirectory changes sotests/ui/README.mdstays in sync)AsyncFnclosures #150572 (Improve move error diagnostic forAsyncFnclosures)QueryDispatcher::Qcxan associated type #151802 (MakeQueryDispatcher::Qcxan associated type)cast_slicefor raw pointer types #149110 (Implementcast_slicefor raw pointer types)Sinceelement in rustdoc dark theme #151665 (Fix contrast ratio forSinceelement in rustdoc dark theme)askamato0.15.3#151798 (Updateaskamato0.15.3)typos.toml#151804 (Document, sort, and tweak spellcheck entries intypos.toml)env::current_exe()#Security#151805 (Fix grammar inenv::current_exe()#Security)r? @ghost
Create a similar rollup